Proyecto Final - PDS 2023-1

Aplicación de Filtros FIR a Audios de Animales por Método de Enventanado y Método de Muestreo en Frecuencia

Antonio José Aristizábal García CC: 1152468786


Librerías


1. Filtros FIR por Método de Enventanado

1.1. Escriba un programa que grafique la señal de audio 'Animals.wav'. Normalice la señal en amplitud, elimine su nivel DC y cree su vector de tiempo según la frecuencia de muestreo. Cargue el audio para escucharlo. ¿Qué animales logra distinguir?

Al reproducir el audio se logra escuchar el aullido de un lobo y el cantar de un pájaro, sin embargo, es difícil reconocer si hay más animales o no.


1.2. Escriba un programa que permita graficar el espectro de la señal de audio. Límite la señal en el eje x entre -5000 y 5000.

Se observan diversos picos de amplitud para diferentes frecuencias, por lo que es posible separarlos y obtener cada uno de los sonidos de los animales mediante el uso de filtros.


1.3. Implemente un filtro FIR pasa bajas mediante el método del enventanado con las siguientes características: frecuencia de muestreo fs = fs_audio, frecuencia de corte fc = 300Hz, ancho de banda de transición fm = 200Hz, ripple de 0.3%. Seleccione la respuesta del filtro y la ventana más adecuada. Explique paso a paso y grafique la respuesta en frecuencia del filtro.

Se especifican las características del filtro pasa bajas:

Al obtener un ripple en dB de -50.46 la ventana ideal es la de tipo Hamming. Se calcula entonces el orden del filtro:

Luego, es necesario normalizar la frecuencia de corte en radianes, seleccionar la respuesta del filtro para un pasabajas y la función de la ventana Hamming:

Finalmente, se obtiene la gráfica de la respuesta en frecuencia del filtro pasa bajas:

Se obtiene que el filtro pasa bajas corta correctamente en 300 Hz y tiene un ancho de banda de transición de aproximadamente 200Hz.


1.4. Repita el procedimiento anterior, pero ahora implementando un filtro pasa-bandas con las siguientes características: frecuencia de muestreo Fs = fs, frecuencia de corte 1 fc1 = 1.5kHz, frecuencia de corte fc2 = 2kHz, ancho de banda de transición fm = 100Hz, ripple de 0.7%.

Se especifican las características del filtro pasa bandas:

Al obtener un ripple en dB de -43.1 la ventana ideal es la de tipo Hann. Se calcula entonces el orden del filtro:

Luego, es necesario normalizar la frecuencia de corte en radianes, seleccionar la respuesta del filtro para un pasa bandas y la función de la ventana Hann:

Finalmente, se obtiene la gráfica de la respuesta en frecuencia del filtro pasa bandas:

Se obtiene que el filtro pasa bandas corta correctamente en 1500 Hz y 2000 Hz y tiene un ancho de banda de transición de aproximadamente 100Hz.


2. Filtros FIR por Método de Muestreo en Frecuencia

2.1. Implemente un filtro FIR pasa altas mediante el método de muestreo en frecuencia. Utilice como frecuencia de muestreo la misma frecuencia obtenida en el audio, frecuencia de corte 4.5kHz y seleccione un valor de muestras N que permita obtener un filtro adecuado. Explique paso a paso y grafique la respuesta en frecuencia del filtro.

Inicialmente se especifican los valores para fs y N. También se selecciona el kmax según el valor de N, el alpha y el paso del muestreo.

Se define la función $\left | H(k) \right |$ que permitirá posteriormente calcular $h(n)$:

Se realiza el cálculo de $h(n)$ utilizando la fórmula de sumatoria conocida:

Se grafica la respuesta en frecuencia del filtro pasa altas obtenido:

Se obtiene que el filtro pasa altas corta correctamente en 4.5 kHz (0.59 en radianes) y se realiza un muestreo correcto al utilizar un N de 300, aunque se presenta el fénomeno de Gibbs, por lo que para reducirlo es necesario utilizar un valor de N más alto, lo cual costará más recursos computacionales.


2.2. Repita el procedimiento anterior, pero ahora implemente un filtro pasa bandas con frecuencias de corte entre 300Hz y 1.6kHz. Explique paso a paso y grafique la respuesta en frecuencia del filtro.

Inicialmente se especifican los valores para fs y N. También se selecciona el kmax según el valor de N, el alpha y el paso del muestreo.

Se define la función $\left | H(k) \right |$ que permitirá posteriormente calcular $h(n)$:

Se realiza el cálculo de $h(n)$ utilizando la fórmula de sumatoria conocida:

Se grafica la respuesta en frecuencia del filtro pasa altas obtenido. Se realiza un zoom entre 0 y $\frac{\pi }{3}$ para facilitar la visualización del filtro:

Se obtiene que el filtro pasa bandas corta correctamente en 300 Hz (0.039 en radianes) y 1.6kHz (0.21 en radianes) y se realiza un muestreo correcto al utilizar un N de 1000, pero nuevamente se presenta Gibbs.


3. Filtrado de Sonidos Animales con filtros FIR

3.1.1. Aplique el filtro pasa bajas obtenido en el literal 1 mediante el método de enventanado al audio Animals.wav


3.1.2. Reproduzca el audio obtenido tras filtrar y grafique su espectro limitando el eje entre -300 y 300. ¿Qué animal escucha? Explique.

Se logra escuchar lo que parece ser una ballena y se suprimen los otros animales. Este sonido tiene una frecuencia muy baja como se puede observar en su espectro, ya que tiene valores entre 150 y 250 Hz aproximadamente. Por esto mismo es que se optó por filtrar con un pasa bajas.



3.2.1. Repita el literal 3.1.1. para el filtro pasa bandas obtenido mediante el método de enventanado.


3.2.2. Repita el literal 3.1.2. graficando el espectro entre -2500 y 2500.

Se logra escuchar lo que parece ser una foca leopardo y se suprimen los otros animales. Como se puede observar en el espectro obtenido, la frecuencia del sonido emitido por este animal está entre 1500 y 2000 Hz aproximadamente. Por esto mismo se utilizó un filtro pasa bandas, de tal forma que solo quedara este rango de frecuencias.



3.3.1. Aplique el filtro pasa altas obtenido en el literal 2 mediante el método de muestreo en frecuencia al audio Animals.wav


3.3.2. Reproduzca el audio obtenido tras filtrar y grafique su espectro limitando el eje entre -8000 y 8000. ¿Qué animal escucha? Explique.

Se logra escuchar lo que parece ser el canto de un ave Herrerillo Común (Cyanistes_caeruleus). Como se puede observar en el espectro obtenido, la frecuencia del sonido emitido por este animal está entre 4500 y 7500 Hz aproximadamente. Por esto mismo se utilizó un filtro pasa altas, ya que entre los animales del audio es el que mayor frecuencia presenta.



3.4.1. Repita el literal 3.3.1. para el filtro pasa bandas obtenido mediante el método de muestreo en frecuencia.


3.4.2. Repita el literal 3.3.2. graficando el espectro entre -1600 y 1600.

Se logra escuchar el aullido de un lobo. Como se puede observar en el espectro obtenido, la frecuencia del sonido emitido por este animal está entre 300 y 1600 Hz aproximadamente. Debido a esto se optó por un filtro pasa bandas, ya que este permite filtrar el audio en el rango de frecuencias específico de este animal.


4. Conclusiones

  • La diferencia entre los dos métodos de diseño de filtros FIR utilizados es que el método de enventanado aplica una función de ventana a una respuesta al impulso ideal según ciertos criterios de diseño y el método de muestreo en frecuencia se centra en muestrear la respuesta deseada del filtro y después obtener la respuesta al impulso correspondiente mediante la transformada inversa de Fourier.
  • Los enventanados permiten reducir en gran parte el fenómeno de Gibbs, ya que permiten atenuar los bordes de la señal y por tanto reducir las discontinuidades, pero esto a costa de aumentar el roll off en la señal.
  • En el método de muestreo en frecuencia es necesario seleccionar un valor apropiado de N, ya que de no ser así es posible que los pasos de muestreo no sean suficientes para obtener el filtro deseado.
  • La aplicación de los filtros FIR en el audio animales combinados permite separar los diferentes sonidos de los animales que se encuentran en este, ya que cada uno de estos tiene una frecuencia diferente.